The Background chapter of U.S. provisional Patent Application No. 60/548,855 is herewith incorporated by reference.
Reducing bandwidth is a major desire of ISP-s (Internet service provider), home-users, content providers and almost every organization that owns a network. Bandwidth means cost, since communication lines are actually leased according to the amount of data they transfer. To a leaser less bandwidth consumed means less money spent on renting a communication line. To a bandwidth provider less data volume transmitted over a line by a given number of clients means additional clients that may be subscribed without reducing service quality.
U.S. publication No. 2002/0184333 (hereinafter D1) is aimed to improve performances of communication networks. The problem to be solved by D1 is in cases where a plurality of requestors may send requests for the same file, wherein each request is directed to a different provider quoting different URL or even different file name. In conventional caching such plural requests will be related as requests for different files, resulting in respective plural file deliveries.
According to D1 invention, after receiving a complete file from each of the plural sources, it will be assigned a digital signature, which in turn will be recognized as being identical to the digital signature of the same file received from any one of the other sources. Accordingly, further requests for the file from any one of the plural providers shall be satisfied by retrieving the file from a single copy stored locally in the cache server. The improvement is by caching frequently requested files for returning such files to a requester in response to requestor inquiry, wherein the files are indexed according to a digital signature assigned to each file, thus avoiding multiple caching and multiple provider-server deliveries of the same file in cases where one file is retrievable from a plurality of sources.
As can be appreciated, in order to being able to associate between different request forms and a one requested file, D1 requires that a cached file will be recognized twice: first according to its digital signature, and second according to all URLs or file names known as associated to that file. In case that a request for the same file is received and is unfamiliar to the system, it can be satisfied only by retrieving the file from the location indicated by the request, and only after the file has once been retrieved and recognized as a copy of a locally stored file, the file name or URL indicated by the request can be associated to that local file for future use (i.e. for future similar requests). Another drawback of D1 is in that the files stored in some provider computers can change, while the intermediate node continue providing the requestors with an old version of a locally stored file, without being aware of the change.
WO 95/19003 publication (hereinafter D2) relates to cases where a receiving computer has an old file, a transmitting computer has a new file, wherein portion of both files may be identical. In order to allow the receiving computer to update the old file to be identical to the new file, it is required that at least those portions of the new file that are not identical to any portion of the old file be transmitted to the receiving computer. In order to allow both receiving computer and transmitting computer to compare what portions of the file need not be transmitted (thus speeding the transmission process) the receiving computer needs as a preliminary step to divide the old file to segments, to calculate a hash number to each segment and to send the hash numbers to the transmitting computer. The transmitting computer then has to calculate hash numbers “to each possible segment in the new file” (page 7 lines 23-24), then to compare the hash numbers to the hash numbers that has received from the receiving computer.
As can be appreciated, D2 is aimed to reconstruct a file on a receiving computer, from segments of a new file received from a sender and from existing segments of pre-designated old file existing on the receiving computer, such that the result will be a copy of the new file on the receiving computer. U.S. Pat. No. 5,721,907 is aimed similarly to D2. D1 to D3, all relate to a receiving computer which expects a predetermined requested file (or part of file) to be obtained from another computer and stored on the receiving computer. When a file is known it also has a known starting and ending points, that can be used as reference locations for a digital signature to be computed over a known range of data.
Differently from the known art the present invention is aimed to initiating transportation reduction in streams of data in real time, i.e. reducing the volume of data streams whose content is anonymous and cannot yet be recognized as a file or a part of a file by the computer initiating the reduction. Referring for example to live video broadcasting, wherein a plurality of receiving computers receive the same content in real time, the system and method disclosed by D1 are incapable of reducing the volume of transportation in the network since the intermediate node has no file in its cache to be retrieved as nowhere there is any actual “file” in such a case where data is created in real time.
The D2 and D3 inventions are also irrelevant for such a case since there is no “old file” in the receiving computers whose portions may be identical to the expected data.
In the context of the present invention—Anchor—location in a stream of data determined according to content thereof fulfilling a predetermined criteria. The criteria is set such that a satisfactory probability for the presence of an anchor over a predetermined amount of data is addressed.
Anchoring—registering values returned by a predetermined function (hereinafter referred to also as “anchoring function”) operated for examining predetermined ranges of content whose location being in correlation with anchors. The function and the ranges of data are selected such that the returned values can be used as signatures identifying the content in a satisfying probability.